package fun.chutianshu.eescore_07_aop.aop;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

//aop 切面类注解，标明下面的类为 aop 切面类
@Aspect
//将类交给 spring boot ，自动装配
@Component
public class GetMappingAdvice {

    // 定义一个切点：所有被GetMapping注解修饰的方法会织入advice
    // 表达式里的 @annotation 注解，指定会被切点响应的注解类
    @Pointcut("@annotation(org.springframework.web.bind.annotation.GetMapping)")
    private void getMappingAdvicePointcut(){}

    // 切入时间
    @Before("getMappingAdvicePointcut()")
    public void getMappingAdvice(){
        System.out.println("get请求的advice即将被触发..................");
    }
}
